INTEGRATING DATA AND TASK PARALLELISM IN SCIENTIFIC PROGRAMSy
نویسندگان
چکیده
Functional languages attract the attention of developers of parallelizing compilers because of the implicit parallelism of functional programs and the simpliied data dependence analysis of functional statements. A major drawback of functional languages is that naive translation of functional programs results in code that requires excessive memory. In this paper we explore the connection between the memory optimization and communication optimization of parallel codes generated from functional languages. We also show how a functional language can be used as an intermediate form in the translation from FORTRAN to customized, architecture-speciic parallel code.
منابع مشابه
Integrating Data and Task Parallelism in Scientific Programs
Functional languages attract the attention of developers of parallelizing compilers because of the implicit parallelism of functional programs and the simplified data dependence analysis of functional statements. A major drawback of functional languages is that naive translation of functional programs results in code that requires excessive memory. In this paper we explore the connection betwee...
متن کاملRenewed Hope for Data Parallelism: Unintegrated Support for Task Parallelism in ZPL
This paper suggests that data parallelism is more general than previously thought and that integrating support for task parallelism into a data parallel programming language is a mistake. With several proposed improvements, the data parallel programming language ZPL is surprisingly versatile. The language and its power are illustrated by the solution to several traditionally task parallel probl...
متن کاملBraid: Integrating Task and Data Parallelism]
Archetype data parallel or task parallel applications are well served by contemporary languages. However, for applications containing a balance of task and data parallelism the choice of language is less clear. While there are languages that enable both forms of parallelism, e.g., one can write data parallel programs using a task parallel language, there are few languages which support both. We...
متن کاملApproaches for integrating task and data parallelism
Languages that support both task and data parallelism are highly general and can exploit both forms of parallelism within a single application. However, integrating the two forms of paral-lelism cleanly and within a coherent programming model is diicult. This paper describes four languages (Fx, Opus, Orca, and Braid) that try to achieve such an integration and identiies several problems. The ma...
متن کامل